package com.fanwh.sort.BubbleSort;

import java.util.Arrays;

/**
 * @program: DataStructure
 * @description: 冒泡排序
 * @author: Fanwh
 * @create: 2020-09-23 17:32
 **/

public class BubbleSort {

    /**关于冒泡排序的一些说明
     * 1.冒泡排序一定会经历给定数组大小n-1趟排序
     * 2.每趟排序，都会将本次排序中最大的值放在最后
     * 3.当只剩一个元素后，就不需要在进行排序了。
     * 4.时间复杂度：O(n^2)
     */
    public int[] BubbleSort (int[] a ){
        int temp = 0;//临时变量
        for (int i = 0; i < a.length-1; i++) {
            for (int j = 0; j < a.length-1-i; j++) {
                if(a[j]>a[j+1]){
                    temp = a[j];
                    a[j] = a[j+1];
                    a[j+1] = temp;
                }
            }
        }
        return a;
    }

    public static void main(String[] args) {
        int[] arr = {3,9,-1,10,-2};
        BubbleSort bubbleSort = new BubbleSort();
        int[] arrsort = bubbleSort.BubbleSort(arr);
        System.out.println(Arrays.toString(arrsort));
    }

}
